
    :root {
        --cv-primary: #663399;
        --cv-primary-dark: #4e2673;
        --cv-primary-light: #f4eefa;
        --cv-text: #2b2b33;
        --cv-muted: #6c7280;
        --cv-border: #ece9f2;
        --cv-radius: 14px;
        --cv-shadow: 0 4px 18px rgba(43, 21, 71, 0.08);
    }

    .cv-section { margin-bottom: 2.5rem; }

    
    .cv-info-card {
        background: #fff;
        border-radius: var(--cv-radius);
        padding: 2rem;
        box-shadow: var(--cv-shadow);
        height: 100%;
    }

    .cv-title {
        font-size: 1.7rem;
        font-weight: 700;
        color: var(--cv-text);
        margin-bottom: 0.75rem;
        line-height: 1.3;
    }

    .cv-subcat-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        background: var(--cv-primary-light);
        color: var(--cv-primary);
        font-size: 0.8rem;
        font-weight: 600;
        padding: 0.35rem 0.8rem;
        border-radius: 999px;
        margin-bottom: 1.25rem;
    }

    .cv-overview {
        color: var(--cv-muted);
        font-size: 0.95rem;
        line-height: 1.7;
        margin-bottom: 1.5rem;
        height: 100%;
    }

    .cv-sales-count {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--cv-text);
        background: #f8f7fb;
        border: 1px solid var(--cv-border);
        padding: 0.5rem 1rem;
        border-radius: 10px;
        margin-left: 10px;
    }
    .cv-sales-count i { color: var(--cv-primary); }

    .cv-media-card {
        background: #fff;
        border-radius: var(--cv-radius);
        padding: 0.75rem;
        box-shadow: var(--cv-shadow);
        height: 100%;
    }

    .cv-image-wrapper {
        position: relative;
        border-radius: 10px;
        overflow: hidden;
    }
    .cv-image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* Prix / BV / Add to cart  */
    .cv-price-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0.75rem;
    }
    .cv-price-row .cv-label { color: var(--cv-muted); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
    .cv-price-row .cv-value { font-size: 1.4rem; font-weight: 700; color: var(--cv-text); }

    .cv-bv-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 1.25rem;
        margin-bottom: 1.25rem;
        border-bottom: 1px solid var(--cv-border);
    }
    .cv-bv-row .cv-label { color: var(--cv-muted); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; }
    .cv-bv-row .cv-value { font-size: 1.1rem; font-weight: 700; color: var(--cv-primary); }

    .cv-add-cart-btn {
        display: block;
        width: 100%;
        text-align: center;
        background: var(--cv-primary);
        color: #fff;
        font-weight: 600;
        border: none;
        border-radius: 10px;
        padding: 0.75rem 1rem;
        transition: background 0.2s ease;
    }
    .cv-add-cart-btn:hover { background: var(--cv-primary-dark); color: #fff; }

    /* Watch Preview  */
    .cv-preview-btn {
        display: block;
        width: 100%;
        text-align: center;
        background: #f5871f;
        color: #fff;
        font-weight: 600;
        border: none;
        border-radius: 10px;
        padding: 0.75rem 1rem;
        transition: background 0.2s ease;
    }
    .cv-preview-btn:hover {
        background: #d9720f;
        color: #fff;
    }

    [dir="rtl"] .cv-preview-btn { direction: rtl; }

    /* ---------- SECTION 2 : curriculum + related courses ---------- */
    .cv-clamp-wrapper { position: relative; }

    .cv-clamp-content {
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .cv-clamp-fade {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 44px;
        height: 40px;
        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
        pointer-events: none;
        display: none;
    }

    .cv-clamp-toggle {
        display: none;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--cv-primary-light);
        color: var(--cv-primary);
        border: none;
        margin: 0.85rem auto 0;
        font-size: 0.9rem;
        font-weight: 700;
        transition: background 0.2s ease;
    }
    .cv-clamp-toggle:hover { background: #ebe1f7; }

    .cv-clamp-wrapper.has-more .cv-clamp-fade { display: block; }
    .cv-clamp-wrapper.has-more .cv-clamp-toggle { display: flex; }

    .cv-curriculum-card {
        background: #fff;
        border-radius: var(--cv-radius);
        padding: 1.75rem;
        box-shadow: var(--cv-shadow);
    }

    .cv-curriculum-card h4 {
        font-weight: 700;
        color: var(--cv-text);
        margin-bottom: 1.25rem;
    }

    .cv-curriculum-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .cv-curriculum-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.85rem 0.25rem;
        border-bottom: 1px solid var(--cv-border);
    }
    .cv-curriculum-item:last-of-type { border-bottom: none; }

    .cv-curriculum-item .cv-lecture-name {
        display: flex;
        align-items: center;
        gap: 0.7rem;
        color: var(--cv-text);
        font-size: 0.92rem;
    }
    .cv-curriculum-item .cv-lecture-name i {
        color: var(--cv-primary);
        width: 18px;
        text-align: center;
    }
    .cv-curriculum-item .cv-lecture-duration {
        color: var(--cv-muted);
        font-size: 0.82rem;
        white-space: nowrap;
    }

    /* Related courses */
    .cv-related-card {
        background: #fff;
        border-radius: var(--cv-radius);
        padding: 1.5rem;
        box-shadow: var(--cv-shadow);
    }
    .cv-related-card h6 {
        font-weight: 700;
        color: var(--cv-text);
        margin-bottom: 1.25rem;
    }
    .cv-related-item {
        display: flex;
        gap: 0.75rem;
        align-items: center;
        padding: 0.6rem 0;
        border-bottom: 1px solid var(--cv-border);
        text-decoration: none;
    }
    .cv-related-item:last-child { border-bottom: none; }
    .cv-related-thumb {
        width: 64px;
        height: 48px;
        border-radius: 8px;
        object-fit: cover;
        flex-shrink: 0;
    }
    .cv-related-info { min-width: 0; }
    .cv-related-title {
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--cv-text);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.3;
    }
    .cv-related-price {
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--cv-primary);
        margin-top: 0.15rem;
    }

 .glightbox-container {
        z-index: 999999 !important;
    }
    .glightbox-container .gclose,
    .glightbox-container .gnext,
    .glightbox-container .gprev {
        z-index: 999999 !important;
    }
    .glightbox-container .ginner-container,
    .glightbox-container .gslide-inline,
    .glightbox-container .gvideo-wrapper,
    .glightbox-container .gslide-video,
    .glightbox-container .gslide-media {
        height: auto !important;
        max-height: 100vh !important;
        background: #000;
    }
 
    .glightbox-container .gslide-video {
        background: #000 !important;
        box-shadow: none !important;
    }